-
-
Notifications
You must be signed in to change notification settings - Fork 956
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(docs): parallelize generation of dot graphs #3361
Conversation
I think this fails on Windows, or at least it used to. I'll run the workflow and see if that's still the case though. Edit: here is the original issue on Doxygen's side: doxygen/doxygen#9694 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3361 +/- ##
=======================================
Coverage 11.06% 11.07%
=======================================
Files 99 99
Lines 17237 17237
Branches 8035 8035
=======================================
+ Hits 1908 1909 +1
Misses 12643 12643
+ Partials 2686 2685 -1
Flags with carried forward coverage won't be shown. Click here to find out more. |
Seems to be working okay on the first attempt. I'm going to run it a few times because I seem to remember the issue being sort of random. |
Building the Sunshine docs is currently agonizingly slow because it generates many hundreds of dot graphs in serial, without any parallelization. This commits sets `DOT_NUM_THREADS` to 0, which causes `doxygen` to determine on its own a reasonable level of parallelization, based on the number of processors available on the system. The speed difference with this change is incredibly dramatic. I haven't performed particularly rigorous testing, but on my fairly weak laptop building the docs after applying this patch takes about 35 seconds. Without applying this patch, building the docs instead takes a ridiculous 135 seconds. This is on an M1 machine with only 4 performance cores and 4 efficiency cores. On a more powerful machine, the difference will be even more marked. Unless there's some reason I'm not aware of why the doc files need to be created in serial, I recommend enabling parallelization so that it isn't so painful to build the documentation. See also: https://xkcd.com/303
5174ecc
to
f3258bc
Compare
Quality Gate passedIssues Measures |
This reverts commit 39bab45.
How about we make it serial on Windows only?
…On Sun, Nov 3, 2024 at 10:47 AM ReenigneArcher ***@***.***> wrote:
Unfortunately, it looks like this needs to be reverted.
image.png (view on web)
<https://github.com/user-attachments/assets/60d31930-6bac-423d-b0fe-3a3e8025e55d>
—
Reply to this email directly, view it on GitHub
<#3361 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAD4ERN3VCPEBB4JYTFD27LZ6ZOSRAVCNFSM6AAAAABRB3QF5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGUZTQMBUHA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Fine with me, might be easier to handle it in https://github.com/LizardByte/doxyconfig |
Building the Sunshine docs is currently agonizingly slow because it
generates many hundreds of dot graphs in serial, without any
parallelization.
This commits sets
DOT_NUM_THREADS
to 0, which causesdoxygen
todetermine on its own a reasonable level of parallelization, based on
the number of processors available on the system.
The speed difference with this change is incredibly dramatic. I haven't
performed particularly rigorous testing, but on my fairly weak laptop
building the docs after applying this patch takes about 35 seconds.
Without applying this patch, building the docs instead takes a
ridiculous 135 seconds. This is on an M1 machine with only 4 performance
cores and 4 efficiency cores. On a more powerful machine, the difference
will be even more marked.
Unless there's some reason I'm not aware of why the doc files need to
be created in serial, I recommend enabling parallelization so that it
isn't so painful to build the documentation.
See also:
https://xkcd.com/303
Type of Change
.github/...
)Checklist